This invention relates to methods and apparatus for telecommunication and in particular to use of Media Gateway Control protocol mechanisms in a packet-switched communication system having a split control-plane/user-plane architecture to enable control-plane nodes to re-establish connections toward peer nodes when packets are received in the user plane from other peer nodes and to discover communication failures in the user plane.
In a packet data communication system, information is exchanged as packets of digital data, or datagrams. Each data packet includes address information that enables the system to direct each packet on its own way through the system from a sender to a receiver. Thus, a packet data communication system does not maintain a continuous connection between a sender and a receiver. Packet data communication systems are sometimes called “connection-less” and packet-switched systems, distinguishing them from traditional telephony systems in which continuous connections are established between senders and receivers. Thus, traditional telephony systems are sometimes called “connection-oriented” and circuit-switched systems.
General packet radio service (GPRS) is a packet-switched communication system that is standardized by the European Telecommunications Standards Institute (ETSI) and the Third Generation Partnership Project (3GPP). See for example “Digital Cellular Telecommunications System (Phase 2+) (GSM); General Packet Radio Service (GPRS); Service description; Stage 2”, 3GPP TS 03.60 ver. 7.6.0 Release 1998; and “General Packet Radio Service (GPRS); Service Description; Stage 2”, 3GPP TS 23.060 ver. 3.3.0 Release 1999 (April 2000). GPRS is also described in H. Granbohm et al., “GPRS—General Packet Radio Service”, Ericsson Review No. 2, pp. 82–88 (1999) and in L. Ekeroth et al., “GPRS Support Nodes”, Ericsson Review No. 3, pp. 156–169 (2000).
GPRS operates with circuit-switched, cellular mobile telephone systems such as the Global System for Mobile (GSM) system, also standardized by ETSI and 3GPP, and the U.S. time division multiple access (TDMA) cellular system defined by the TIA/EIA-136 standard promulgated by the Telecommunications Industry Association (TIA) and Electronic Industries Association (EIA). By adding GPRS functionality to GSM and TDMA public land mobile networks (PLMNs), network operators can give their subscribers resource-efficient access to external Internet protocol-based (IP-based) networks like the Internet.
As depicted in FIG. 1, a GSM-style PLMN includes a number of interconnected network nodes, in particular, a mobile switching center/visitor location register (MSC/VLR), a home location register (HLR), and base station subsystems (BSS). The BSS handles radio communication with subscribers' mobile stations (MSs) via an air interface Um. The HLR is a database of information about the subscribers that is accessed by the MSC/VLR via a D-interface and that is accessed by a serving GPRS support node (SGSN) via a Gr-interface. The MSC/VLR routes circuit-switched calls to and from the MSs, communicating with the BSS over an A-interface. It will be appreciated that these nodes are typical of a circuit-switched network such as a PLMN, whether GSM or not. Data transfer and signaling interfaces are indicated in FIG. 1 by solid lines and signaling interfaces are indicated by dashed lines.
Packet data services and GPRS add nodes in a packet-switched portion of the communication network for handling packet data traffic; these nodes interwork with the circuit-switched portion of the communication system depicted in FIG. 1. For example, an SGSN is connected to the BSS via a Gb-interface and resides at the same hierarchical level in the network as the MSC/VLR. A gateway GPRS support node (GGSN) is the interconnection point to a packet data network (PDN) via a Gi-interface and is connected to the SGSN via a Gn-interface (which may be an IP backbone). User data to the Internet, directed for example, from a terminal equipment (TE) connected to a mobile terminal (MT), is sent encapsulated over the IP backbone. In FIG. 1, R is a reference point between a non-ISDN compatible TE and an MT. In this application, the end-user's equipment is called a mobile station (MS) whether it is a combination of a phone (MT) and a device such as a computer (TE) or just a phone.
The SGSN and GGSN can be combined into one physical node and deployed at a central point in the network, or a network may include several GGSNs and SGSNs as shown. Packet data streams and short text messages are handled in FIG. 1 by a Short Message Service—Gateway MSC (SMS-GMSC) and an SMS—Interworking MSC (SMS-IWMSC) that communicate with the HLR via a C-interface and with the MSC/VLR via an E-interface. As seen in FIG. 1, the SMS-GMSC and SMS-IWMSC exchange short messages with a short message switching center (SM-SC), and the SMS-GMSC communicates with the SGSN via a Gd-interface. It will be appreciated that the nodes depicted in FIG. 1 are typical of a packet-switched network, whether a GPRS network or not.
Most of the interfaces depicted in FIG. 1, and in particular the Gs- and A-interfaces, exchange messages with the help of the Signaling System Number 7 (SS7) that is standardized by ETSI and the American National Standards Institute (ANSI), among others. SS7 in GSM and GPRS uses a message transfer part (MTP) protocol to deliver messages and a signaling connection control part (SCCP) protocol for extended addressing. The SCCP protocol provides for each message to have an SCCP header that has a sub-system number for telling the node receiving the message which application should have the message. An SGSN, for example, typically has different sub-system numbers for communication with the HLR and with the MSC/VLR. An MSC usually derives the node type of a communicating peer node based on the sub-system number that may be stored in a database or included in an earlier message.
In a GPRS network, packet data channels (PDCHs) are mapped onto respective timeslots, thereby utilizing the same physical channel structure as ordinary circuit-switched GSM/TDMA channels. All radio resources are managed from a base station controller (BSC) in the BSS, which also includes Base Transceiver Stations (BTS); the pool of physical channels for a given cell can be used as either circuit-switched channels or packet-data channels. By packet multiplexing, the allocated PDCHs can be shared by every GPRS user in the cell, and the number of PDCHs in a cell can be fixed or dynamically allocated to meet fluctuating traffic demands. To support efficient multiplexing of packet traffic to and from mobile stations, or mobile terminals (MTs), packet data traffic channels (PDTCHs), packet associated control channels (PACCHs), and packet data common control channels (PDCCHs) are specified for the air interface Um, although PDCCHs are not always used.
As noted above, an SGSN serves every GPRS subscriber that is physically located within the SGSN's service area. To a large extent, the SGSN does for the packet data service what the MSC/VLR does for circuit-switched service. The mobility management functions for GPRS terminals that are performed by an SGSN include attach/detach, user authentication, ciphering, location management, and so on, and an SGSN supports combined mobility management for at least some mobile terminals by interworking with the MSC/VLR. An SGSN also manages the logical link to mobile terminals that carries user packet traffic, SMS traffic, and layer-3 signaling between the network and the GPRS terminals. An SGSN also routes and transfers packets between mobile terminals and the GGSN; handles packet data protocol (PDP) contexts (the PDP context defines important parameters, such as the access point name, quality of service, the GGSN to be used, and so on, for connection to the external packet data network); interworks with the radio resource management in the BSS; and generates charging data.
As noted above, the GGSN accommodates the interface to external IP-based networks. Access-server functionality in the GGSN is defined according to standards from the Internet Engineering Task Force (IETF). The GGSN functions as a border gateway between the PLMN and external networks, sets up communication with external packet data networks, authenticates users to external packet networks, routes and tunnels packets to and from the SGSN, and generates charging data.
The MSC/VLR also supports integrated mobility management for mobile terminals. GPRS attach and PDP-context activation must be executed in order for GPRS users to connect to external packet data networks. The mobile terminal makes itself known to the network by means of GPRS attach, which corresponds to IMSI attach used for circuit-switched traffic. Once the terminal is attached to the network, the network knows its location and capabilities. For some mobile terminals, circuit-switched IMSI attach and packet-switched GPRS attach can be performed at the same time.
GPRS attach is depicted by FIG. 2. In step 1, the mobile terminal requests that it be attached to the network. The terminal's request, which is sent to the SGSN, includes parameters that indicate its multi-timeslot capabilities, the ciphering algorithms it supports, whether it wants to attach to a packet-switched service or to both packet- and circuit-switched services, etc. In step 2, authentication is made between the terminal and SGSN, which may fetch relevant data from the HLR. In step 3, subscriber data from the HLR is inserted into the SGSN; and in step 4, information is passed to the terminal that indicates the terminal is attached to the network.
Before the mobile terminal can communicate with an external PDN (e.g., an IP network), a PDP context must be activated. The PDP context includes parameters that describe the characteristics of the connection to the external PDN, e.g., the address allocated to the MS, access point name (APN), QoS, and so on. PDP contexts may be primary or secondary, in which a secondary PDP context uses the same MS IP address and is connected towards the same APN (i.e., external net) as its respective primary PDP context. A composite PDP context contains one primary and zero or more secondary PDP contexts.
PDP-context activation is depicted in FIG. 3. In step 1, the mobile terminal requests PDP-context activation. In step 2, the SGSN validates the request based on subscription information received from the HLR during GPRS attach. In step 3, the APN is sent to a domain name server (DNS) from the SGSN to find the IP address of the relevant GGSN. In step 4, a logical connection is created between the SGSN and the GGSN (i.e., a GPRS Tunneling Protocol (GTP) tunnel is formed). In step 5, the GGSN assigns a dynamic IP address to the mobile terminal, if required, from the range of IP addresses allocated to the PLMN or externally, from a Remote Authentication Dial-In User Service (RADIUS) server (a fixed IP address from the HLR could also be used). A RADIUS client is included in the GGSN to support Password Authentication Protocol (PAP) and Challenge Handshake Authentication Protocol (CHAP) authentication to external networks with RADIUS servers. After an acknowledgment of the PDP context activation is returned to the MS (step 6), communication between the user and the external PDN (e.g., an Internet Service Provider (ISP) network or a corporate network) can commence (step 7).
Many network operators see an advantage in physically splitting node(s) in a network like that depicted in FIG. 1 into control plane node(s) and user plane node(s), thus better enabling independent scalability of signaling traffic and data traffic. In particular, the number of end-users is scalable independently of the end-user traffic. By connecting each user-plane node to several control-plane nodes and vice versa, it is possible to use the total network capacity more efficiently. Moreover, it is possible to dispose common user-plane nodes between the circuit-switched and the packet-switched portions of the communication network to reduce the necessary network resources even further and to provide a better migration path when circuit-switched equipment is replaced packet-switched equipment. Also, this enables cheaper replacement of the network nodes handling user-plane traffic as technology evolves.
The Universal Mobile Telecommunication System (UMTS) is a combined circuit-switched and packet-switched communication system. The circuit-switched portion has a split control-plane/user-plane architecture, and therefore physically splitting nodes in the circuit-switched portion of this system is already possible. The packet-switched portion does not have a split architecture, although a logical split already exists in the current specifications of the packet-switched portion and thus it may be just a matter of time before a split architecture is defined.
When a split architecture is implemented, a protocol for communications between control- and user-plane entities must be defined. Two such protocols are the H.248 and Media Gateway Control (MEGACO) protocols, which are similar enough that they will be called the H.248/MEGACO protocol in this application. The H.248/MEGACO protocol defines, in an open and flexible way, a generic framework for information exchange between control-plane and user-plane entities as well as application-specific packages that can be tailored to the different needs of an application like GPRS. The H.248 protocol is being developed by Study Group 16 of the International Telecommunications Union (ITU) (see Draft Recommendation H.248, ITU (Jun. 15, 2000), which is incorporated here by reference). The MEGACO protocol is being developed in the IETF's MEGACO working group (see N. Greene et al., “Megaco Protocol version 0.8”, RFC 2885, IETF (August 2000) and T. Taylor, “Megaco Errata”, RFC 2886, IETF (August 2000), which are the successors to N. Greene et al., “Media Gateway Control Protocol Architecture and Requirements”, RFC 2805, IETF (April 1999)).
In these standardization protocols, the call/application function located in the control plane is called a Media Controller (MC) and the bearer/resource function located in the user plane is called a Media Gateway (MG). An MG normally converts media provided in one type of network to a format required in another type of network, and an MC controls the parts of a call state that pertain to connection control for media channels in an MG. For example, an MG may terminate bearer channels from a circuit-switched network (e.g., DS0 channels in a PSTN) and media streams from a packet-switched network (real-time transport protocol (RTP) streams in an IP network).
FIG. 4 depicts such a network that has two nodes and a split architecture. The nodes 402, 404 include respective MCs 406, 408 and respective MGs 410, 412. Communications on the interface between the media controllers, i.e., the control-plane entities, are conducted according to a call/application control protocol. Communications on the interface between the media gateways, i.e., the user-plane entities, are conducted according to a bearer/resource protocol. Communications on the interface between the control-plane and user-plane entities can be conducted according to the H.248/MEGACO protocol.
The H.248/MEGACO protocol is also organized according to user-plane concepts of Contexts, Terminations, Streams, and Descriptors, which can be better understood with the help of FIG. 5. P Contexts and Terminations relate to resources in the user plane. A Termination represents a physical or logical endpoint of flows of information, or media, and encapsulates media stream parameters as well as modem and bearer parameters. A Termination may include zero or more Streams and is identified by a TerminationID. Two Terminations are shown in FIG. 5. A Context logically groups one or more Terminations and is identified by a ContextID. A Context describes the topology (who hears/sees whom, i.e., the flow of media among Terminations) and the media mixing and/or switching parameters if more than two Terminations are involved in the Context. One Context that groups two Terminations is shown in FIG. 5. Each user plane entity (i.e., a media gateway in a split architecture like that shown in FIG. 4) can contain, or handle, several Contexts from several MSs. In general, Terminations are added/removed from Contexts by Add and Subtract commands.
Terminations have properties that have unique PropertyIDs, and related properties are grouped into Descriptors, which may be input or output parameters of commands. For example, a Stream describes a flow of media through a Termination in an MG. A Stream may include a received and/or a sent media flow, and is identified by a StreamID. Four bi-directional Streams are depicted in FIG. 5. The Streams 502, 504 are interconnected in the Context and hence they have the same StreamID. Similarly, the Streams 506, 508 are interconnected in the Context and hence they too have the same StreamID. Several Streams can be set up in one Termination, and FIG. 5 shows each Termination having two Streams. User data received by a media gateway is described by a Local Descriptor and user data sent by a media gateway is described by a Remote Descriptor.
The H.248/MEGACO protocol defines an Events Descriptor that describes events, conditions, parameters, etc. to be detected by an MG and what to do when such events are detected. The Events Descriptor typically contains a RequestID and a list of events that the MG is requested to detect and report. The RequestID is used to correlate the request with the notifications that it may trigger. Each event in the Descriptor typically contains an Event name, an optional StreamID, and other optional parameters. When an event is processed against the contents of an active Events Descriptor and found to be present (“recognized”) in that Descriptor, the MG typically sends a Notify command to the MC. For example, conditions that might be monitored are the transferred information volume (e.g., the number of sent/received octets/packets) and the time duration of a communication session, which can be used as bases for charging a subscriber for the service provided.
The H.248/MEGACO protocol provides another Descriptor called a SignalsDescriptor, which is a parameter that contains a set of Signals that an MG applies to a Termination. There are three types of Signals: on/off, which is a Signal that lasts until it is turned off; timeout, which is a Signal that lasts until it is turned off or a specified time period elapses; and brief, which is a Signal having such a short duration that it will stop on its own unless a new Signal is applied that causes it to stop. Production of a Signal on a Termination is stopped by detection of an Event on the Termination, among other things. Signals are identified by SignalIDs and optionally by relevant StreamID, signal type, and duration, among others. A Media Controller can send a Signal to a Media Gateway to order the Media Gateway to perform an action, like send a message to its peer (in the user plane).
In GPRS, establishing a PDP context implies establishing a communication session in an MS, the radio network, an SGSN, and a GGSN. If no user-plane traffic is transmitted through this session for some time, the radio network may decide to release (or order release of) the connection between the radio network (or the MS) and the SGSN, while the connection between the SGSN and GGSN should remain. When user-plane traffic is transmitted again, the control plane nodes must re-establish the connection between the radio network (or the MS) and the SGSN. How this functionality can be achieved in a split architecture needs to be defined.
In addition, the current specifications of GPRS includes a “heartbeat” mechanism implemented by Echo Request and Echo Response messages. Every node/entity must send a message (Echo Request) to all its communication peers. If no reply (Echo Response) is received (possibly after some re-transmissions), the path towards this peer is considered faulty. If a reply is received and a re-start counter of the peer is different from the previously received counter value, the peer is considered re-started. This heartbeat mechanism is applied in both the control plane and the user plane. If a re-start or a path failure is discovered, all sessions (PDP contexts) towards the relevant peer might be released, or at least the involved MSs should be notified. The control plane entity is in charge of both the release process and the notification to the MS.
How this kind of heartbeat mechanism can be applied to a user plane entity, and how the user plane entity can report fault situations to the control plane in a split architecture need to be defined. A similar heartbeat mechanism can also be applied in the traditionally circuit-switched part of the network when that part uses packet bearers, e.g., IP packets.
In view of the effort being expended to develop the H.248/MEGACO protocol, it could be beneficial to use that protocol in a wide variety of communication environments, including GPRS for example. Aspects of this effort are described in “Feasibility Study for Transport and Control Separation in the PS CN Domain”, 3GPP TR 23.873 ver. 1.1.0 (January 2001), which is incorporated here by reference. Further aspects are described in U.S. patent applications Ser. No. 09/903,364 and Ser. No. 09/903,365, both filed on Jul. 11, 2001, by F. Bjelland et al. Nevertheless, how the H.248/MEGACO protocol might be used in a packet-switched network like GPRS/UMTS or GPRS/TDMA has not been defined. One contributor to this problem may be that the split architecture is not yet standardized for GPRS.